Verified Functional Programming of an Abstract Interpreter

نویسندگان

چکیده

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms well understood, their implementations subject to bugs, that might question soundness computations. While some formally verified have been written in past, writing understanding them requires expertise use proof assistants, a non-trivial amount interactive proofs. This paper presents interpreter fully programmed proved correct F* programming environment. Thanks refinement types SMT prover capabilities we demonstrate substantial saving effort compared previous works based on assistants. Almost all code our implementation, proofs included, functional style, presented directly paper.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Formally Verified Interpreter for a Shell-Like Programming Language

The shell language is widely used for various system administration tasks on UNIX machines, as for instance as part of the installation process of software packages in FOSS distributions. Our mid-term goal is to analyze these scripts as part of an ongoing effort to use formal methods for the quality assurance of software distributions, to prove their correctness, or to pinpoint bugs. However, t...

متن کامل

A verified abstract machine for functional coroutines

Functional coroutines are a restricted form of control mechanism, where each coroutine is represented with both a continuation and an environment. This restriction was originally obtained by considering a constructive version of Parigot’s classical natural deduction which is sound and complete for the Constant Domain logic. In this article, we present a refinement of de Groote’s abstract machin...

متن کامل

TRX: A Formally Verified Parser Interpreter

Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, whi...

متن کامل

A Concurrent Abstract Interpreter

Abstract interpretation [6] has been long regarded as a promising optimization and analysis technique for high-level languages. In this article, we describe an implementation of a concurrent abstract interpreter. The interpreter evaluates programs written in an expressive parallel language that supports dynamic process creation, first-class locations, list data structures and higher-order proce...

متن کامل

Programming languages - an interpreter-based approach

Read more and get great! That's what the book enPDFd programming languages an interpreter based approach will give for every reader to read this book. This is an on-line book provided in this website. Even this book becomes a choice of someone to read, many in the world also loves it so much. As what we talk, when you read more every page of this programming languages an interpreter based appro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Lecture Notes in Computer Science

سال: 2021

ISSN: ['1611-3349', '0302-9743']

DOI: https://doi.org/10.1007/978-3-030-88806-0_6